/**
 * 
 */
package com.pe.pgn.clubpgn.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.pe.pgn.clubpgn.dao.PromocionPuntosDao;
import com.pe.pgn.clubpgn.domain.ClpbEstacion;
import com.pe.pgn.clubpgn.domain.ClpmPeriodoPromocion;
import com.pe.pgn.clubpgn.domain.ClpmPromocionPuntos;
import com.pe.pgn.clubpgn.domain.ClpmRangoPromocion;
import com.pe.pgn.clubpgn.domain.beans.BNPromocionEstacion;
import com.pe.pgn.clubpgn.service.PromocionPuntosService;

/**
 * @author Edwin Farfan
 */

@Service("promocionPuntosService")
public class PromocionPuntosServiceImpl implements PromocionPuntosService {

	@Autowired
	private PromocionPuntosDao dao;
	
	public List<ClpmPromocionPuntos> obtenerPromocionesPuntos() {
		return dao.obtenerPromocionesPuntos();
	}

	public List<ClpmPromocionPuntos> busquedaPromocionesPuntos(
			String fechaInicio, String fechaFin, String periodo) {
		
		return dao.busquedaPromocionesPuntos(fechaInicio, fechaFin, periodo);
	}
	
	public ClpmPromocionPuntos obtenerPromocionPuntos(Long id){
		return dao.obtenerPromocionPuntos(id);
	}
	
	public boolean eliminarPromocionPuntos(Long id){
		
		return dao.eliminarPromocionPuntos(id);
	}
	
	public List<ClpmPeriodoPromocion> listadoPeriodosPromocion(){

		return dao.listadoPeriodosPromocion();
	}
	
	public void guardarPromocionPuntos(ClpmPromocionPuntos promocionPuntos){
		
		promocionPuntos.setClpmPeriodoPromocion(dao.obtenerPeriodoPromocion(new Long(promocionPuntos.getPeriodoPromocion())));
		dao.guardarPromocionPuntos(promocionPuntos);
		
	}
	
	public List<BNPromocionEstacion> listadoPromocionEstacion(Long id){
		
		return dao.listadoPromocionEstacion(id);
	}
	
	public List<ClpbEstacion> listadoEstaciones(){
		return dao.listadoEstaciones();
	}

	public void modificarEstacionPromocion(String []estacion,String promocionPuntos,String [] checkbox,String[] idPromocionEstacion, Integer filas){
		
		dao.modificarEstacionPromocion(estacion,promocionPuntos,checkbox,idPromocionEstacion,filas);
	}
	

	public List<ClpmRangoPromocion> listarRangoPromocion(Long id){
		
		return dao.listarRangoPromocion(id);
	}
	
	public void guardarRangos(String idPromocionPuntos, String cantidadInicio,String cantidadFin,String factor, String sumando){
		
		dao.guardarRangos(idPromocionPuntos, cantidadInicio,cantidadFin,factor, sumando);
	}
	
	public void eliminarRangos(String idRangoPromocion){
		dao.eliminarRangos(idRangoPromocion);
	}

	public boolean vigenciaPromocion(Long id){
		return dao.vigenciaPromocion(id);
	}
//	public ClpmDiasPromocion listadoDiasPromocion(Long idPromocionPuntos){
//		return dao.listadoDiasPromocion(idPromocionPuntos);
//		
//	}
	public void eliminarRangoByPromocion(Long idPromocion){
		dao.eliminarRangoByPromocion(idPromocion);
	}
	
	public boolean translapePromocion(ClpmPromocionPuntos pActual) throws Exception{
		return dao.translapePromocion(pActual);
	}
}
